#ifndef __ROBOT_BASE_H__
#define __ROBOT_BASE_H__

#include <iostream>
#include <vector>
using namespace std;

#include "pose_2d.h"
#include "pixel_2d.h"

// 机器人运动学模型
enum class KinematicModel{
    DIFF_2D = 0,        //2轮差速模型 Differential Drive robot
};

// 机器人轮廓
class RobotModel{
    
    KinematicModel kinematic_model = KinematicModel::DIFF_2D;
    vector<Pose2D> polygon_points;      //轮廓点集
    float expend_distance = 0.0;        //扩展距离
    float inscribed_circle_radius = 0.0;        //内切圆半径
    float circumscribed_circle_radius = 0.0;    //外切圆半径
};


#endif